<?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE configuration
 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<settings>
		<!--强制指定MyBatis使用slf4j作为日志日志框架，若不指定那么当部署到如Tomcat等应用容器时，会被容器设置为使用common-logging来记录日志 -->
		<setting name="logImpl" value="SLF4J" />
		<!-- 全局映射器启用缓存 -->
		<setting name="cacheEnabled" value="false" />
		<!-- 允许使用自定义的主键值(比如由程序生成的UUID  32位编码作为键值)，数据表的PK生成策略将被覆盖 -->
		<setting name="useGeneratedKeys" value="true" />
		<setting name="defaultExecutorType" value="REUSE" />
		<!-- 允许延迟加载 -->
		<setting name="lazyLoadingEnabled" value="true" />
		<setting name="aggressiveLazyLoading" value="false" />
		<!-- 给予被嵌套的resultMap以字段-属性的映射支持 -->
		<setting name="autoMappingBehavior" value="FULL" />
		<!-- 对于未知的SQL查询，允许返回不同的结果集以达到通用的效果 -->
		<setting name="multipleResultSetsEnabled" value="true" />
		<!-- 对于批量更新操作缓存SQL以提高性能 -->
		<setting name="defaultExecutorType" value="BATCH" />
		<!--解决，查询返回结果含null没有对应字段值问题 -->
		<setting name="callSettersOnNulls" value="true" />
	</settings>
	<plugins>
		<!-- mybatis物理分页 自动分页拦截器-->
		<plugin interceptor="com.smart.base.root.interceptor.PageInterceptor"/>
		<!-- mybatis通用拦截器（执行sql打印，插入或更新实体自动装入字段等） -->
		<plugin interceptor="com.smart.base.root.interceptor.MybatisInterceptor">
			<property name="showSql" value="true"/>
			<!--生产上可以不设置格式化-->
			<property name="formatSql" value="true"/>
		</plugin>
	</plugins>
</configuration>